#include "iostream"
using namespace std;



//static修饰变量的时候，变量是一个状态变量
int j()
{
	static int a = 10;
	a ++;
	printf("a:%d \n", a);
	return a;

}

int& j1()
{
	static int a = 10;
	a ++;
	printf("a:%d \n", a);
	return a;
}

int *j2()
{
	static int a = 10;
	a ++;
	printf("a:%d \n", a);
	return &a;
}


void main()
{
	// j()的运算结果是一个数值，没有内存地址，不能当左值。。。。。
	//11 = 100;
	//*(a>b?&a:&b) = 111;
	//当被调用的函数当左值的时候，必须返回一个引用。。。。。
	j1() = 100;
	j1();
	*(j2()) = 200; //相当于我们程序员手工的打造 做左值的条件
	j2();
	system("pause");
}